Tutorial

Run SAS Samples

Running SAS from a tool

Sample for running on nodejs

import fs from 'fs/promises';
let tools = [
    {
      type: 'function',
      function: {
        name: "_runSAS",
        description: "process named SAS program. The program extension must be .sas or .casl",
        parameters: {
          properties: {
            resource: {
              type: "string",
              description: "the name of the program to run",
            },
          },
          type: "object",
          required: ["resource"],
        },
      }
    }
  ];
  // function to run the program
  async function _runSAS(params, appEnv) {
    let { resource} = params;
    let { store, session, restaflib} = appEnv;
    let src;
    try {
      src = await fs.readFile(resource, "utf8");
    } catch (err) {
      console.log(err);
      return "Error reading program " + resource;
    }
    try {
      if (appEnv.source === "cas") {
        let r = await restaflib.caslRun(store, session, src, {}, true);
        console.log(JSON.stringify(r.results));
        return JSON.stringify(r.results);
      } else if (appEnv.source === "compute") {
        let computeSummary = await restaflib.computeRun(store, session, src);
        let log = await restaflib.computeResults(store, computeSummary, "log");
        return logAsArray(log);
      } else {
        return "Cannot run program without a session";
      }
    } catch (err) {
      console.log(err);
      return "Error running program " + program;
    }
  }